package com.aplink.generic.pojo.controlspec.viewpager;

import com.aplink.generic.pojo.PageCollection;
import com.aplink.generic.pojo.PageItem;
import com.aplink.generic.pojo.controlspec.ControlSpec;

public class ViewPagerSpec extends ControlSpec {
    private static final long serialVersionUID = -3518903847579088030L;
	private boolean hasPageTransformer;
	private String mHeaderStyle;
	private int mOffscreenPageLimit;
	private PageCollection mPageCollection;
	private int mStartPage = 0;

	public ViewPagerSpec() {
		this.mPageCollection = new PageCollection();
	}

	public ViewPagerSpec(final int currentPage,
	        final PageCollection pageCollection, final String headerStyle) {
		this.mHeaderStyle = headerStyle;
	}

	public ViewPagerSpec(final PageCollection pageCollection) {
		this.mPageCollection = pageCollection;
	}

	public void add(final PageItem pagerItem) {
		this.mPageCollection.add(pagerItem);
	}

	public int getDefaultTargetIndex() {
		return this.mPageCollection.getIndex();
	}

	public String getHeaderStyle() {
		return this.mHeaderStyle;
	}

	public int getOffscreenPageLimit() {
		return this.mOffscreenPageLimit;
	}

	public PageCollection getPageCollection() {
		return this.mPageCollection;
	}

	public int getStartPage() {
		return this.mStartPage;
	}

	public boolean isHasPageTransformer() {
		return this.hasPageTransformer;
	}

	public void setHasPageTransformer(final boolean hasPageTransformer) {
		this.hasPageTransformer = hasPageTransformer;
	}

	public void setHeaderStyle(final String headerStyle) {
		this.mHeaderStyle = headerStyle;
	}

	public void setOffscreenPageLimit(final int offscreenPageLimit) {
		this.mOffscreenPageLimit = offscreenPageLimit;
	}

	public void setPageCollection(final PageCollection pageCollection) {
		this.mPageCollection = pageCollection;
	}

	public void setStartPage(final int startPage) {
		this.mStartPage = startPage;
	}

}
